package com.probox.customer.api.domain;

import com.probox.common.core.annotation.Excel;
import com.probox.common.core.utils.money.MoneyUtils;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@Data
public class CustomerFundVo implements java.io.Serializable {

    /**
     * $column.columnComment
     */
    private Long fundUid;
    /**
     * 会员ID
     */
    @Excel(name = "会员ID")
    private Long customerUid;

    /**
     * 平台ID
     */
    private Long platformUid;

    /**
     * 合计收益
     */
    @Excel(name = "合计收益")
    private Long allProfit;

    /**
     * 可用收益
     */
    private Long profit;

    /**
     * 冻结分润
     */
    private Long freezeProfit;

    /**
     * 合计提现
     */
    @Excel(name = "合计提现")
    private Long allWithdraw;
    /**
     * 总积分
     */
    @Excel(name = "总积分")
    private Long allScore;

    /**
     * 可用积分
     */
    private Long score;

    /**
     * 冻结金额
     */
    @Excel(name = "冻结积分")
    private Long freezeScore;
    /**
     * 余额
     */
    @Excel(name = "余额")
    private Long allBalance;

    /**
     * 可用余额
     */
    private Long balance;

    private Double gold;

    private Double silver;

    /**
     * 红包
     */
    @Excel(name = "红包")
    private Long allRedBag;

    /**
     * 可用红包
     */
    private Long redBag;

    /**
     * 粉丝数量
     */
    @Excel(name = "粉丝数量")
    private Integer allFans;
    /**
     * 二级粉丝数量
     */
    @Excel(name = "二级粉丝数量")
    private Integer allFansSecond;

    /**
     * 订单总额
     */
    @ApiModelProperty(value = "订单总额")
    @Excel(name = "订单总额")
    private Long allOrderAmount;

    /**
     * 支付金额
     */
    @ApiModelProperty(value = "支付金额")
    @Excel(name = "支付金额")
    private Long allPayAmount;

    /**
     * 资金状态(0:流入,1:流出)
     */
    @Excel(name = "资金状态(0:流入,1:流出)")
    @ApiModelProperty(value = "资金状态(0:流入,1:流出)")
    private String hisStatus;

    //状态
    private String status;

    private Long orderUid;
    private Long itemUid;
    private String bizNo;
    private Date bizTime;
    private String remark;
    private Long fromCustomerId;
    //绑定等级状态(1:是)
    private String bindLevelStatus;

    private Long storeId;

    private String bizDesc;


    /**
     * 金额处理
     * @return
     */
    public String getBalanceStr() {
        return MoneyUtils.changeF2B(balance);
    }

    public String getAllProfitStr() {
        return MoneyUtils.changeF2B(allProfit);
    }

    public String getProfitStr() {
        return MoneyUtils.changeF2B(profit);
    }

    public String getfreezeProfitStr() {
        return MoneyUtils.changeF2B(freezeProfit);
    }

    public String getAllWithdrawStr() {
        return MoneyUtils.changeF2B(allWithdraw);
    }

    public String getAllBalanceStr() {
        return MoneyUtils.changeF2B(allBalance);
    }
}
